SQLite database of every port in the system. This can be queried through
e.g., sqlitebrowser, or any kind of programming interface.

This is more suitable for human consumption, use sqlite-compact for
more structured information.

Database Schema:
- Ports(FULLPKGPATH, ...)
holds all the information retrieved through various variables, e.g.,:
    AUTOCONF_VERSION 
    AUTOMAKE_VERSION 
    BROKEN 
    *DEPENDS 
    CATEGORIES
    COMMENT 
    CONFIGURE_STYLE 
    DESCR 
    DISTFILES 
    DISTNAME 
    DIST_SUBDIR 
    EPOCH
    FLAVORS 
    FULLPKGNAME
    GH_*
    HOMEPAGE 
    IS_INTERACTIVE 
    MAINTAINER
    MAKEFILE_LIST
    MASTER_SITES*
    MODULES 
    MULTI_PACKAGES 
    NO_*
    NOT_FOR_ARCHS
    ONLY_FOR_ARCHS 
    PERMIT_*
    PKGNAME 
    PKGSPEC
    PKG_ARCH 
    PREFIX
    PSEUDO_FLAVOR
    PSEUDO_FLAVORS 
    TEST_IS_INTERACTIVE 
    REVISION
    SEPARATE_BUILD 
    SHARED_LIBS 
    SUBPACKAGE 
    SUPDISTFILES 
    TARGETS
    USE_*
    WANTLIB 
    README
    COMPILER
    COMPILER_LANGS
    COMPILER_LINKS

This information is mostly unchanged, except for replacing Yes/No variables
with 1/0. Variables not present in a given port are left undefined.

README corresponds to README files (full text value) and only exists when
such files are present.

Note that USE_LIBTOOL is 3-valued: 2 is gnu, 1 is yes, undef is no.
Note that USE_WXNEEDED is 3-valued: 2 is special, 1 is yes, undef is no.

The FULLPKGPATH is complete, including flavor and pseudo-flavors markers.
For every port with MULTI_PACKAGES settings, one entry is written for 
each SUBPACKAGE.

- Paths (FULLPKGPATH, PKGPATH, CANONICAL)
PKGPATH is the stripped down version or FULLPKGPATH, without flavors 
or subpackage markers.
CANONICAL points to the reduced version.

- Flavors(FULLPKGPATH, VALUE)
- Categories(FULLPKGPATH, VALUE)
- Multi(FULLPKGPATH, VALUE, SUBPKGPATH)
- Makefiles(FULLPKGPATH, VALUE)
- Modules(FULLPKGPATH, VALUE)
- Configure(FULLPKGPATH, VALUE)
- ConfigureArgs(FULLPKGPATH, VALUE)
- NotForArch(FULLPKGPATH, VALUE)
- OnlyForArch(FULLPKGPATH, VALUE)
- Targets(FULLPKGPATH, VALUE)
All of these variable values are actually lists. These lists are taken apart
and result in many entries in these secondary tables (or none if the list
is completely empty)

Makefiles holds the stuff from MAKEFILE_LIST that's specific to a given port
with all default entries stripped away.

- Depends(FULLPKGPATH, FULLDEPENDS, PKGSPEC, REST, DEPENDSPATH, TYPE)
All depends are stored in a single table, including the type:
R -> run
L -> lib
B -> build
T -> test
with FULLDEPENDS the full text of the dependency, DEPENDSPATH the PKGPATH
we depend upon, PKGSPEC the spec we depend upon (if explicit), and REST
the rest.
- Wantlib(FULLPKGPATH, VALUE)
All the libraries the FULLPKGPATH depends upon, with and without version number,
coming from either the WANTLIB variable or various LIB_DEPENDS.

- Multi(FULLPKGPATH, VALUE, SUBPKGPATH)
with SUBPKGPATH the normalized pkgpath for that subpackage.

- BROKEN(FULLPKGPATH, ARCH, VALUE)
All the broken entries, which might be arch-dependent.

- Shared_Libs(FULLPKGPATH, LIBNAME, VERSION)
